Method and apparatus for dynamically managing vending machine inventory prices

ABSTRACT

The present invention is a method and apparatus for automatically managing a price of a product in a vending machine. The method and apparatus is disclosed for implementing dynamic price adjustments at various times including after stocking, after a sale of a product and at periodic intervals. The method generally includes the steps of updating inventory data, including a quantity of a product, accessing price management data associated with the product, and determining the price of the product. According to the method and apparatus of the present invention, the determined price of the product is based on the price management data and the inventory data. The determined price is then stored in a memory of the apparatus and displayed for customers. The apparatus may be a vending machine, a processing module within the vending machine, or an external module remotely transmitting the dynamically adjusted price to a vending machine.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a divisional of U.S. patent application Ser. No. 08/947,798, filed Oct. 9, 1997 in the name of Tedesco et al., entitled “METHOD AND APPARATUS FOR DYNAMICALLY MANAGING VENDING MACHINE INVENTORY PRICES”.

The entirety of each of the above applications is incorporated by reference herein as part of the present disclosure.

The present application is also related to:

-   -   (i) U.S. patent application Ser. No. 11/926,768 filed Oct. 29,         2007 in the name of Tedesco et al., entitled “METHOD AND         APPARATUS FOR DYNAMICALLY MANAGING VENDING MACHINE INVENTORY         PRICES”; and     -   (ii) U.S. patent application Ser. No. 11/926,839 filed Oct. 29,         2007 in the name of Tedesco et al., entitled “METHOD AND         APPARATUS FORDYNAMICALLY MANAGING VENDING MACHINE INVENTORY         PRICES”.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to vending machines. More particularly, the present invention relates to a method and apparatus for dynamically managing inventory pricing of a vending machine.

2. Description of the Related Art

Vending machines are well known and have existed since the late 1880s. The first vending machines were rudimentary devices primarily designed to dispense cigarettes and postcards. Modern vending machines are employed to store and dispense a vast array of merchandise in response to a customer request and appropriate payment. Such merchandise includes drinks, candy, frozen deserts, snacks, video tapes and children's toys.

Many entrepreneurs are attracted to the basic concept of selling products using a vending machine. Vending machines are generally considered to have significant advantages over traditional merchandising. Specifically, vending machines enable the automated sale of merchandise at unconventional locations and times; and they do not require sales personnel.

Although the basic advantages of vending machines are significant, prior art vending machines have several significant disadvantages when compared to traditional merchandising, particularly relating to inventory control and pricing. A first disadvantage is the difficulty of maintaining an inventory of perishable items. A second disadvantage is the difficulty of selling or “turning over” an inventory of low demand items or items of inferior quality. Although some vending machine suppliers offer to buy back inventory from operators who no longer want to sell certain products, such suppliers often fail to live up to their offer when an operator tries to exercise this option.

There have been many attempts at addressing the inventory problems of vending machines, including methods for determining what products are the best sellers, what are the appropriate times to re-stock vending machine items and in what quantities. The solutions include methods and systems that enable vending machine operators to remotely monitor inventory and remotely retrieve sales data. Other solutions have been proposed in the forms of accounting software and bar code readers that detect the expiration dates of vending machine items.

Examples of vending machine patent prior art include the following U.S. patents: U.S. Pat. No. 4,412,292, entitled “System for the Remote Monitoring of Vending Machines;” U.S. Pat. No. 4,654,800, entitled “Control and Monitoring Apparatus for Vending Machines;” U.S. Pat. No. 5,091,713, entitled “Inventory, Cash, Security, and Maintenance Control Apparatus and Method for a Plurality of Remote Vending Machines;” U.S. Pat. No. 5,367,452, entitled “Mobile Merchandising Business Management System which Provides Comprehensive Support Services for Transportable Business Operations;” and U.S. Pat. No. 4,282,575, entitled “Control and Monitoring Apparatus for Vending Machines.” These inventions generally disclose remote monitoring systems, currency control systems, and data collection systems designed to address shortcomings of prior art vending devices.

Non-patent prior art includes VendMaster's software product entitled “Windows for Vending PRO with Inventory.” This product enables a vending machine operator to report and analyze various historical sales data. VendMaster's product is intended to enhance a vending machine operator's ability to identify high-demand inventory, determine preferable times to stock the machine and calculate suggested prices.

The aforementioned solutions generally attempt to solve inventory problems by allowing operators to monitor and analyze raw sales data. These solutions fail to adequately address the aforementioned shortcomings of present vending machines. Specifically, the prior art fails to provide adequate solutions to the problems of maintaining an inventory of perishable items; increasing inventory turnover; and recovering the investment in low demand or inferior quality items.

Using the prior art solutions, an operator may use collected supply and demand data to help make pricing decisions, but the fact that operators must manually ratify and implement the decisions renders these solutions burdensome, inaccurate an inefficient. These solutions are burdensome in that the accounting and analysis required to arrive at pricing decisions is time consuming. These solutions are inaccurate as the human decision making process regarding pricing is largely arbitrary. These solutions are inefficient because human decisions and the implementations of those decisions are not dynamically responsive to real-time market pressures; they are delayed until the operator analyzes supply and demand data, arrives at a pricing decision, and posts the pricing decision.

Accordingly, the current methods of implementing new pricing decisions are inconsistent with the fundamental business philosophy of vending machines. Vending entrepreneurs have always adhered to the idea that vending machines manage themselves. Pricing decisions in a vending operation, however, cannot currently be implemented as easily as they may be, for example, in the retail environment where humans are physically present to monitor supply and demand and adjust prices accordingly.

A need therefore exists for a method and apparatus that monitors supply and demand of a vending machine inventory and that dynamically and automatically calculates and implements item prices to increase a vending machine's profitability. A need further exists for a method and apparatus for adjusting item prices of a vending machine to relieve vending machine operators of the burdens, inaccuracies and inefficiencies in management that result from the current methods of pricing items.

Accordingly, the shortcomings associated with the related art have heretofore not been adequately addressed. The present invention addresses such problems by providing an apparatus and processing approach that have not previously been proposed.

SUMMARY OF THE INVENTION

The present invention provides a method and apparatus to automatically and dynamically determine, adjust and manage product pricing in a vending machine to account for current market trends. According to a first aspect of the present invention, a method is disclosed for automatically managing a price of a product in a vending machine. The method includes the step of receiving a product identifier specifying the product. The method further includes the step of receiving inventory data. The inventory data includes the quantity of the product in the vending machine.

Next, the method includes the step of determining price management data associated with said product. The price management data specifies supply and demand data associated with the product. The method continues with the step of determining the price for the product, and storing the price management data and the price. This first method of managing inventory pricing is particularly useful if performed upon stocking the vending machine. An apparatus is also disclosed for performing the steps of first method.

According to another aspect of the present invention, a second method is disclosed for automatically managing a price of a product in a vending machine. The second method includes the step of accessing price management data and inventory data associated with the product. The inventory data and price management data are used, in part, to form the basis for the price in the step of determining the price of the product. The determined price is then stored in a memory and preferably displayed. This second method may be performed in response to a particular event, such as a product sale, a change in the environment, or according to a schedule. An apparatus is also disclosed for performing the steps of the second method.

It is an object of the present invention to provide a method and apparatus for dynamically managing the price of a product in a vending machine. The above object and other objects features and advantages are readily apparent from the detailed description when taken in connection with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

A more complete appreciation of the invention and many of the attendant advantages thereof may be readily obtained by reference to the following detailed description when considered with the accompanying drawings, wherein:

FIG. 1 is a perspective view of a vending machine according to one embodiment of the present invention;

FIG. 2 is a schematic block diagram illustrating the components of the vending machine according to one embodiment of the present invention;

FIG. 3 is a schematic block diagram illustrating the components of the processing module of the vending machine of FIG. 2;

FIG. 4 is a table illustrating the structure of an authorization table stored in the memory of the vending machine of FIG. 2;

FIGS. 5A-5C are a table illustrating the structure of an price management table stored in the memory of the vending machine of FIG. 2;

FIGS. 6A-6B is a flow chart illustrating the computer implemented steps used to set a product price upon stocking the vending machine of FIG. 2;

FIG. 7 is a flow chart illustrating the computer implemented steps used to set a product price after a product purchase at the vending machine of FIG. 2;

FIG. 8 is a flow chart illustrating the computer implemented steps used to set a product price at the vending machine of FIG. 2 according to a predetermined schedule; and

FIG. 9 is a schematic block diagram illustrating a network embodiment of the present invention.

DETAILED DESCRIPTION

Apparatus Architecture

An embodiment of the method and system of the present invention will now be discussed with reference to FIGS. 1-8B. FIGS. 1-3 illustrate the components of one exemplary vending machine 100 including the features of the present invention. Although specific exemplary vending machine 100 is referred to throughout the detailed description, the present invention is directed to any automatic sales machine that allows payment to be exchanged for goods. Payment can be presented through a variety of media including, but not limited to, coins, bills and other currencies, magnetic stripe cards and smart cards (whether pre-paid or linked to an account), and identification codes. FIG. 1 is a perspective view of vending machine 100; FIG. 2 is a schematic block diagram of vending machine 100; and FIG. 3 is a schematic block diagram of the processing module of vending machine 100.

As shown, vending machine 100 includes an input device 110 for receiving input from a customer indicating a product selection. Input device 110 may also be used for receiving input from an operator during stocking or maintenance of vending machine 100. Although input device 110, as illustrated, includes a set of alpha-numeric keys for providing input to vending machine 100, input device could include a selector dial, a set of buttons associated with a respective set of item dispensers, or any other conventional input device commonly employed by a vending machine designer. Further, vending machine 100 may include more than one input device 110. For example, vending machine 100 may include an exterior input device 110 for receiving customer input and an interior input device (not shown) for receiving operator input. In the illustrated embodiment, input device 110 receives input data from both operators and customers.

As shown, vending machine 100 includes a sensor 115 for sensing surrounding environmental conditions. Sensor 115 is preferably a conventional temperature sensor configured to sense the local outdoor temperature or the external environmental temperature surrounding vending machine 100. Sensor 115 could include a receiver for receiving a local temperature from a weather service.

Vending machine 100 also includes several mechanisms for receiving payment and dispensing change, including coin acceptor 112, bill validator 114, magnetic stripe reader 116 and change dispenser 118. Magnetic stripe reader 116 is a conventional reader for reading data on the magnetic stripe of a credit or debit card, and it may cooperate with conventional remote point-of-sale credit card processing equipment (not shown) to validate credit based purchases through a conventional credit authorization network. Coin acceptor 112, bill validator 114 and change dispenser 118 communicate with currency storage apparatus 120 and may include conventional devices such as Mars models AE-2400, MC5000, TRC200 or CoinCo model 9300-L. Coin acceptor 112 and bill validator 114 receive and validate currency that is stored by currency storage apparatus 120.

Referring now to FIGS. 2 and 3, coin acceptor 112, bill validator 114, magnetic stripe reader 116 and change dispenser 118 communicate with, and are controlled by, processing module 144. Processing module 144 includes network communication port 142 for communicating with the previously mentioned components of vending machine 100 and for communicating with a central controller via a network (not shown).

In addition to the elements previously mentioned, processing module 144 includes a central processing unit 126 (“CPU”) connected to communication port 142. CPU 126 communicates with random access memory (RAM) 128, read only memory (ROM) 130, clock 132. CPU 126 also communicates with at least one item dispenser 122, at least one price display 124 and storage device 134. Price display 124 may be any display device, preferably a digital display, employing conventional technology such as a light emitting diode (“LED”) display or a liquid crystal display (“LCD”).

Vending machine 100 includes twelve item dispensers 122 and twelve price displays 124, one item dispenser and display corresponding to each product offered for sale by vending machine 100. As in many conventional vending machines, item dispenser 122 may be activated by CPU 126 after a customer has purchased item 136, causing item 136 to be transferred to receptacle 140. A customer has access to a purchased item in receptacle 140 via door 138. Purchased item 136 can then be removed by a customer from receptacle 140 through door 138.

As shown in FIGS. 1 and 2, each item dispenser 122 has a corresponding price display 124 that displays information pertaining to item 136 dispensed by item dispenser 122. Typically, price display 124 will display the price of item 136 as determined according to the steps of the present invention. Although vending machine 100, as illustrated, includes a plurality of item dispensers 122 and a plurality displays 124, this is only one possible embodiment of the many types of vending machines that could employ the present invention. Selecting an appropriate conventional item dispensing mechanism, a single item dispenser 122 could be used to dispense the plurality of items 136. Likewise, a single price display 124 could be used to communicate prices and other information of the plurality of products.

As shown in FIG. 3, storage device 134 stores a database of authorization and price management data, including an authorization table 400; and a price management table 500. Tables 400 and 500 comprise at least a portion of the data stored by storage device 134 and are described more fully with reference to FIGS. 4 and 5, respectively. Storage device 134 further includes instructions for implementing the steps of the present invention. Specifically, storage device 134 includes inventory stocking process instructions 600; post-purchase price evaluation process instructions 700; and periodic price evaluation process instructions 800. Storage device 134 is preferably a magnetic disk drive, but could be a CD-ROM drive, optical disk drive, RAM drive or any other conventional storage device as would be deemed appropriate by one of ordinary skill in the art.

Data Tables

FIG. 4 illustrates the contents of an exemplary authorization table 400 in tabular format. Each record of authorization table 400 includes an operator identifier 402 and an authorization code 404 that defines a valid operator identifier/authorization code pair. Authorization table 400 is utilized to enable only authorized operators to access the price management data stored in storage device 134. Of course, authentication table 400 could also be used for authentication of network control and monitoring signals in accordance with the network configuration more fully described with reference to FIG. 9.

FIGS. 5A, 5B and 5C illustrate the contents of an exemplary price management table 500. Each of the twelve illustrative records 548-570 of price management table 500 represents information pertaining to a specific product and item dispenser. For purposes of illustration, this data is based on a system date of Jul. 1, 1997. Generally, the data stored in price management table 500 falls into three categories: inventory data, shown in FIG. 5A; evaluation data, shown in FIG. 5B; and pricing data, shown in FIG. 5C. Certain data elements may fall into more than one category, as described below.

Each record in price management table 500 includes a dispenser identifier 510 and a product identifier 512. Dispenser identifier field 510 stores a dispenser identifier that uniquely identifies a corresponding item dispenser 122 of vending machine 100. Product identifier field 512 identifies the product associated with the dispenser identified by field 510.

In the present embodiment, there is a one to one correspondence between a dispenser and a product, i.e. either field uniquely identifies a record. In other words, each dispenser dispenses only one product, and each product is limited to a single dispenser. One of ordinary skill will recognize that by distributing the price management data among multiple tables, multiple products could be offered in a single dispenser, and/or multiple dispensers could dispense the same product.

The remaining fields shown in FIG. 5A store data generally describing the inventory of vending machine 100. Stocked quantity field 514 stores the number of items that were originally stocked in the dispenser identified by field 510. The contents of this field are input by an operator during stocking or routine maintenance. Available quantity field 516 contains the number of items currently associated with the dispenser identified by field 510. After stocking or routine maintenance, the contents of field 516 is automatically set equal to the contents of field 514, for each record corresponding to a restocked product. Thereafter, the available quantity is automatically updated by CPU 126 for each associated item sold.

Current price field 518 contains the selling price of the product associated with the item dispenser. Current price field 518 may be populated by the operator during stocking or routine maintenance, and may be determined according to the process steps of the present invention. Exemplary process steps which may be executed to automatically determine a current price are described with reference to FIGS. 6-8B.

FIG. 5B illustrates fields of price management table 500 that define when a price is dynamically evaluated. Stock date field 520 stores the date the dispenser identified by field 510 was most recently stocked. Termination date field 522 contains the last date on which the items of the associated dispenser may be sold. The termination date is entered by an operator during stocking of vending machine 100 and may be a date entered by the operator, the expiration date of the items in the associated dispenser, or another relevant date, such as the next scheduled stocking date.

The next two fields of price management table 500 define shelf times for the product identified by field 512. Total shelf time field 524 defines the maximum allowable shelf time for the product. The contents of field 524 are calculated by CPU 126 based on stock date field 520 and termination date field 522 upon stocking. Remaining shelf time field 526 defines the remaining shelf time of the product and is periodically calculated by CPU 126 based on the system date, and the contents of field 522.

Evaluation frequency field 528 stores a code representing a rule defining the frequency with which the CPU 126 should evaluate the price of the product identified by field 512. Although field 528 only contains a code, the contents of field 528 illustrated in FIG. 5 show the logical representations of the codes. The evaluation rule applicable to a product is generally selected by an operator from a set of rules defined by the vending machine manufacturer. In the examples shown in FIG. 5, evaluation frequency field 528 may store a code representing a rule to evaluate a product price every x purchases or a rule to evaluate a product price every y hours, where x and y are greater than zero.

Of course, the present invention envisions numerous alternative evaluation frequency rules. For example, a rule could be defined to evaluate the price whenever sensor 115 senses a predetermined condition. If sensor 115 is a thermostat, CPU 126 could be programmed to evaluate the price whenever the temperature exceeded a predefined temperature. Other evaluation frequency rules could be implemented to evaluate the price when demand for a product rapidly changes or if at the current demand level items will remain stocked past the termination date in field 522. Further, CPU 126 could be programmed to evaluate prices during periods of low activity, such as during the early morning.

Last evaluation date/time field 530 stores a timestamp identifying the time of last sale, and field 532 stores the number of sales of the associated product made since the last price evaluation. These fields are periodically updated by CPU 126, and are periodically accessed by CPU 126 based on the evaluation rule represented by the contents of field 528.

Fields 534-538 define demand-based price evaluation parameters. Previous demand field 534 stores the level of demand as of the last price evaluation. Current demand field stores the current demand level for the product in the dispenser identified by the contents of field 510. CPU 126 periodically calculates the current demand and stores it in field 536. After each evaluation, CPU 126 sets the contents of previous demand field 534 equal to the contents of current demand field 536. Demand increment field 538 defines the incremental difference between the previous demand and the current demand that is required to trigger a price evaluation process.

FIG. 5C illustrates fields of price management table 500 that are used to calculate the current price stored in field 518. Price adjustment increment field 540 stores the amount by which the price of the product identified by field 512 may be adjusted. Of course, the price of the product identified by field 512 may be adjusted by multiples of the price adjustment increment.

Fields 542-546 define price parameters for the product identified by field 512. The minimum price to be charged for the product is stored in minimum price field 542; the manufacturer's suggested retail price for the product is stored in suggested price field 544; and the maximum price to be charged for the product is stored in maximum price field 546.

The manufacturer's suggested retail price of field 544 may be used as the initial current price after stocking, or it may be used as a factor to determine future prices. The minimum price and maximum price fields 542 and 546 are used to prevent the calculated price from falling outside a predetermined range. This financially protects both the vending machine operator and the consumer.

Evaluation Process Steps

Having thus described the system architecture and components of the present embodiment, the operation of the system will now be described in greater detail with reference to FIGS. 6A-8B, and continuing reference to FIGS. 1-5C. It is to be understood that the software instructions necessary to provide the functionality described herein are preferably stored in storage device 134 of vending machine 100, but may be stored in ROM 130.

According to the present invention, there are generally three times at which it is appropriate to determine the price of a product in a vending machine: after stocking, after a sale of an item and after a period of time. FIGS. 6A-6B, FIGS. 7A-7B and FIGS. 8A-8B illustrate the process steps executed by vending machine 100 to determine a price of a product at each of these times, respectively.

Referring now to FIGS. 6A and 6B, the process steps executed by vending machine 100 to determine a price of a product after stocking will be described. As shown at step 610, CPU 126 receives a request to update price management table 500. This request indicates that an operator is stocking vending machine 100, and the request includes an operator identifier and authorization code entered by the operator.

At step 612, CPU 126 retrieves a record from authorization table 400 using the received operator identifier as an index. CPU 126 then, as shown at step 614, compares operator identifier and authorization code received at step 610 with the contents of operator identifier field 402 and authorization code field 404 retrieved at step 612, respectively. It may then be determined, according to some embodiments, if the operator is authorized to access the price management table, at 616. If the comparison yields a match of the respective data, CPU 126 may proceed to execute step 620, for example, otherwise, CPU 126 may deny the operator access to price management table 500 at 618.

At step 620, CPU 126 receives input from the operator. The operator inputs a dispenser identifier, a product identifier and relevant portions of the inventory, evaluation and pricing data pertaining to the stocked product and associated dispenser to be stored in price management table 500. The inventory data received from the operator includes a stocked quantity, and a current price. The evaluation data received from the operator includes a termination date, an evaluation frequency and a demand increment. The pricing data received from the operator includes a price adjustment increment, a minimum price, a suggested price and a maximum price. The data received from the operator is stored by CPU 126 in the appropriate fields of price management table 500. Of course, receiving data for one or more of these fields from the operator may be optional as CPU 126 could supply default values for certain fields. In addition, the data for one or more of these fields could be automatically received from a remote source using the network configuration illustrated in FIG. 9 or from an attached bar code reader (not shown) such as the U.P.C. scanners attached to the vending machines manufactured by Automatic Vending America, Inc.

At step 622, CPU 126 calculates the remaining price management data to be stored in price management inventory table 500. Specifically, CPU 126 calculates the total shelf time, remaining shelf time and current price for the associated product. Although, the current price may be input by the operator, the current price would preferably be set equal to the manufacturer's suggested price stored in field 544. Of course, in an alternate embodiment, the current price could be determined in accordance with the price evaluations described below with reference to the post-purchase evaluation process and the periodic evaluation process.

At step 624, the stocking process concludes with the step of adjusting the price display 124 corresponding to item dispensers 122 dispensing the associated product. The price displays 124 are adjusted to display the price determined at step 620.

Referring now to FIGS. 7A, 7B and 7C, the process steps executed by vending machine 100 to determine a price of a product after a sale of an item will be described. At step 710, CPU 126 receives a customer request to purchase an item. In accordance with vending machine 100, the request includes an indication of payment and a dispenser identifier. In other embodiments, the request may include a product identifier instead of the dispenser identifier. CPU 126 then uses the received dispenser identifier to retrieve the relevant record from price management table 500, as shown at step 712. Based on the contents of field 516, a determination is made at step 714 whether sufficient inventory is available to honor the request. If there is not sufficient inventory, CPU 126 processes step 716 and causes change dispenser 118 to return any inserted payment, and the transaction is terminated. If vending machine 100 holds sufficient inventory to honor the request, CPU 126 processes step 718 and activates item dispenser 122 corresponding to the dispenser identifier received at step 710.

At step 722, CPU 126 updates the price management data pertaining to the product selected by the customer and stores the updated data in price management table 500. The step of updating includes the step of decrementing the contents of available quantity field 516, incrementing the contents of field 532 to reflect the sale and updating the contents of current demand field 536. At step 724, a determination is made whether the necessary events have occurred to require a price evaluation for the selected product. In the present embodiment, this step includes comparing the parameter identified by evaluation frequency field 528 to either last evaluation date/time field 530 or sales since last evaluation field 532. If it is time to evaluate the price of the selected product, CPU processes step 726.

At step 726, CPU 126 calculates the change in demand for the specified product and at step 728 compares the calculated change in demand to the demand increment data stored in field 538. If the demand for the specified product has changed by at least the demand increment stored in field 538, CPU 126 processes step 730 and determines a new current price for the specified product. One preferred formula that can be used to determine a new current price is: i P_(nc) =P _(current) ±P _(increment) where:

P_(nc) represents the new current price;

P_(current) represents the current price stored in field 518; and

P_(increment) represents the price increment stored in field 540.

If the demand for the product has increased, the new current price equals the contents of current price field 518 plus the contents of price adjustment field 540. If the demand for the product has decreased, the new current price equals the contents of current price field 518 less the contents of price adjustment field 540. At step 732, CPU 126 verifies that the new current price falls within the range of acceptable prices as defined by minimum price field 542 and maximum price field 546.

If the new current price is within the acceptable range, current price field 518 is updated to reflect the new current price as shown at step 734. It is important to note that although a specific price determination formula has been described herein, the method and apparatus of the present invention is intended to work with many different price determination formulas applicable to product pricing. Various formulas may easily be implemented by one of ordinary skill in the art with minor design variations. Finally, at step 736, CPU 126 updates the price display 124 associated with subject item dispenser to reflect the new current price of the product.

Referring now to FIGS. 8A and 8B, a flow chart is presented illustrating the exemplary process steps that may be executed to determine the price of a product during a periodic price evaluation. The process steps of FIGS. 8A and 8B are described herein with respect to a single product. It is envisioned that these steps will be repeated for each product represented in price management table 500.

At step 810, CPU 126 begins the periodic price evaluation process by retrieving a record associated with a specified product from price management table 500. At step 812, CPU 126 accesses the contents of evaluation frequency field 528 to determine if the price evaluation frequency is based on time, as shown at step 814. If the evaluation of the product's price is not based on time, the process ends. Otherwise, the process proceeds to step 816. In an alternate embodiment, step 814 may include determining whether the quantity of the product is non-zero. If the quantity of the product is zero, CPU 126 would terminate the process to avoid evaluating the price of an unavailable product.

At step 816, CPU 126 determines the time elapsed since the price of the product was last evaluated. This is accomplished by retrieving the system date and time from clock 132 and comparing the system date and time to the date and time stored in last evaluation date/time field 530. At step 818, the result is compared to the evaluation frequency parameter indicated by field 528. It may then be determined, according to some embodiments, if sufficient time has elapsed to evaluate the price, at 820. If sufficient time has elapsed, the process may proceed, for example, with step 822. Otherwise, the process may ends.

At step 822, CPU 126 calculates the change in demand for the specified product and compares the calculated change in demand to the demand increment data stored in field 538. It may then be determined, according to some embodiments, if the demand level has changed by an amount appropriate to require an adjustment of the price, at 824. If the demand for the specified product has changed by at least the demand increment stored in field 538, for example, CPU 126 processes step 826 and determines a new current price for the specified product. One possible formula that can be used to determine a new current price is: P_(nc)=[(ST _(remain) /ST _(total))×(P _(maximum) −P _(minimum) )]+P _(minimum) where:

P_(nc represents the new current price;)

ST_(remain) represents the remaining shelf time stored in field 526;

ST_(total) represents the total shelf time stored in field 524;

P_(maximum) represents the maximum price stored in field 542; and

P_(minimum) represents the minimum price stored in field 546.

This formula determines the new current price based on the remaining shelf life and the maximum and minimum price boundaries. In this embodiment, the calculated price may be rounded to the nearest price adjustment increment indicated in field 540. At step 830, current price field 518 is updated to reflect the new current price as shown at step 830. Finally, at step 832 CPU 126 updates the price display associated with subject item dispenser to reflect the new current price of the product.

Referring back to FIGS. 5A-5C, the contents of record 562 illustrates the result of process 800. As shown by field 512, record 550 is associated with a dispenser stocked with cola. According to field 526, the remaining shelf time for the cola in inventory is 62 days, while the total shelf time stored in field 524 is 70 days. The maximum price for cola, stored in field 546, is $1.15, and the minimum price is $0.35, as shown by field 542. To calculate the selling price of cola according to the present embodiment, CPU 126 applies the formula described above: P _(nc)=[(ST _(remain) /ST _(total))×(P _(maximum) −P _(minimum))]+P _(minimum) P _(nc)=[(62/70)×($1.15−$0.35)]+$0.35 P_(nc)=$1.0586 Rounding the result to the nearest price adjustment increment stored in field 540, the selling price is $1.05.

As described, the price evaluation formulas discussed with reference to FIGS. 7A-7C and 8A-8B rely on data collected and stored in price management table 500. The present invention may employ other factors in place of or in addition to stored data to determine a current selling price. In particular, output from sensor 115 may be used to determine the price of a product. For example, in the case where sensor 115 is a thermometer, a price calculation could be employed that increases the price of a soft drink as the external temperature increases. Alternatively, the price of hot chocolate could increase as the external temperature decreases.

Referring now to FIG. 9, a network is shown to illustrate an alternate embodiment of the present invention. Price management server 900 and a plurality of vending machines 100, 910, 912 and 914 (collectively, the “nodes”) preferably transmit digitally encoded data and other information between one another. The communication links between the nodes and price management server 900 preferably comprise a cable, fiber or wireless link on which electronic signals can propagate. For example, each node may be connected via an Internet connection using a public switched telephone network (PSTN), such as those provided by a local or regional telephone operating company. Alternatively, each node may be connected by dedicated data lines, cellular, Personal Communication Systems (“PCS”), microwave or satellite networks.

In this configuration, the previously described functionality provided by processing module 144 (i.e. inventory management and dynamic price adjustment) can be remotely performed by price management server 900. The resulting price adjustments are transmitted from price management server 900 to each of the plurality of vending machines.

Conventional cryptographic techniques may be employed to ensure the authenticity of remote data received by the nodes. Further, authentication table 400, or a functional equivalent, may be employed at price management server 900, the node or both.

While the best mode for carrying out the invention has been described in detail, those familiar with the art to which the invention relates will recognize various alternative designs and embodiments for practicing the invention. These alternative embodiments are within the scope of the present invention. Accordingly, the scope of the present invention embodies the scope of the claims appended hereto. 

1. A method comprising: receiving a product identifier specifying a product for sale by a vending machine; determining, by a processor, a demand of said product; determining price management data associated with said product, said price management data including a minimum price and a price increment; determining, by said processor, and based on said demand, whether to evaluate a current price for said product; determining, by said processor, an updated price for said product based on said current price, said minimum price and said price increment; and storing said price management data and said price.
 2. The method of claim 1 further comprising the steps of: receiving a request for restocking from an operator; and verifying the authority of said operator.
 3. The method of claim 2 wherein the step of verifying includes the steps of: receiving an operator identifier specifying the identity of an operator; and determining whether the operator identifier is valid.
 4. The method of claim 3 wherein the step of determining whether the operator identifier is valid includes the steps of: accessing authorization data defining a valid operator identifier; and comparing said operator identifier to said authorization data to determine whether the operator identifier corresponds to the valid operator identifier.
 5. The method of claim 1 wherein the step of determining price management data includes the step of receiving a target date.
 6. The method of claim 5 wherein said target date specifies an expiration date.
 7. The method of claim 5 wherein said target date specifies a restocking date.
 8. The method of claim 5 wherein the step of determining price management data includes the steps of: accessing a stock date; and computing a shelf time based on said stock date and said target date.
 9. The method of claim 1, further comprising the step of displaying said updated price.
 10. The method of claim 1, wherein the determining of said updated price comprises accessing a suggested retail price.
 11. A method comprising the steps of: receiving a purchase request for a product offered for sale by a vending machine; dispensing, by the vending machine, a unit of said product; updating a quantity of said product; accessing price management data associated with said product, said price management data including a minimum price and a price increment; determining, by a processor, and based on demand, whether to evaluate a price for said product; determining, via a processor, said price of said product, said price being based on said price management data and a current price; and storing said price.
 12. The method of claim 11 wherein the step of dispensing includes the step of comparing said quantity to zero to determine availability of said product.
 13. The method of claim 11 further comprising the step of displaying said price.
 14. The method of claim 11 wherein the step of accessing price management data includes the step of calculating an actual demand level associated with said product.
 15. The method of claim 14 further comprising the steps of: retrieving a target demand level; and comparing said actual demand level to said target demand level.
 16. The method of claim 11 wherein said price management data includes a maximum price and the step of determining said price includes the step of preventing said price from being greater than said maximum price.
 17. The method of claim 11 wherein the step of determining said price includes calculating said price according to the formula: price=P _(current) ±P _(increment) where: P_(current) represents the a current price; and P_(increment) represents the price adjustment increment.
 18. A method comprising: determining, by a processor, a demand for a product offered for sale by a vending machine; accessing evaluation data associated with said product; comparing said evaluation data to a predetermined threshold to determine whether to update a price of said product based on said evaluation data; accessing inventory data and price management data associated with said product, said price management data including at least a minimum price and a maximum price; determining, via a processor, said price of said product, said price being based on said price management data and a current price, wherein said price is less than said maximum price and greater than said minimum price; and storing said price, wherein said evaluation data specifies an actual demand level associated with said product; said predetermined threshold specifies a minimum acceptable demand level associated with said product; and the step of comparing includes comparing said actual demand level to said minimum acceptable demand level.
 19. A vending machine comprising: an input device configure to: receive a purchase request for the product; a dispenser for dispensing a unit of said product; a memory configured to store: a price; price management data associated with said product, said price management data including a minimum product price, a maximum product price, and a price adjustment increment; and inventory data associated with said product, said inventory data specifying a quantity; and a processor configured to: determine a demand of said product; retrieve a target demand level; determine said price management data by calculating an actual demand level associated with said product; compare said actual demand level to said target demand level; update said inventory data; access said price management data; determine said price of said product, said price being based on said price management data and a current price, wherein said price is less than said maximum product price, greater than said minimum product price, and a multiple of said price adjustment increment.
 20. A vending machine comprising: a memory configured to store: evaluation data associated with said product; price management data associated with said product, including data identifying a minimum price and data identifying a price adjustment increment; inventory management data; and a price; a processor operatively coupled to said memory, said processor configured to: determine a demand of said product; access said evaluation data; compare said evaluation data to a predetermined threshold to determine whether to update said price of said product based on said evaluation data; access said price management data; and determine said price of said product, said price being based on said price management data and a current price, wherein said price of said product is greater than said minimum price and is a multiple of said price adjustment increment, wherein said evaluation data specifies an actual demand level associated with said product; said predetermined threshold specifies a minimum acceptable demand level associated with said product; and said processor is further configured to compare said actual demand level to said minimum acceptable demand level. 